﻿package com.thorqq.magictimer;


import com.thorqq.magictimer.action.ActionMgr;
import com.thorqq.magictimer.db.DBHelper;
import com.thorqq.magictimer.util.DisplayUtil;
import com.thorqq.magictimer.util.Util;

import android.app.ActivityManager;
import android.app.Application;
import android.content.Context;

public class MagicTimerApp extends Application
{
    
//    Typeface mNumTypeFase;
//    DisplayMetrics mDisplayMetrics; 
//    String mVersionName = "1.0";
//    String mVersionCode = "1";

    @Override
    public void onCreate()
    {
        super.onCreate();
        
        int pid = android.os.Process.myPid();
        ActivityManager mActivityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
        for(ActivityManager.RunningAppProcessInfo appProcess : mActivityManager.getRunningAppProcesses())
        {
            if(appProcess.pid == pid)
            {
                Util.log("process name: " + appProcess.processName);
                if(appProcess.processName.equalsIgnoreCase("com.thorqq.magictimer"))
                {
                    Util.log("MagicTimer process");
                    initMagicTimer();
                }
                else
                {
                    Util.log("Baidu push process");
                }
            }
        }
        
        
               
//        //配置参数
//        Configuration.getIntance().init(this);
//
//        //初始化日志
//        Util.initLog(this);
//        
//        //是否打开调测模式
//        Util.setDebug(Configuration.getIntance().getDebugFlag());
//        
//        //获取统计参数
//        StatHelper.getInstance(this);
//
//        //记录版本号
//        logVersion();
//
//        //全局异常捕获
//        MyCrashHandler handler = MyCrashHandler.getInstance();
//        handler.init(this);
//
//        //初始化数据库
//        DBHelper.initialize(this);
//        DBHelper.getIntance().open();
//               
//        //字体
//        mNumTypeFase = Typeface.createFromAsset (getAssets() , "fonts/Clockopia.ttf");        
//        
//        //分辨率
//        mDisplayMetrics = getResources().getDisplayMetrics();
//        DisplayUtil.setScaledDensity(mDisplayMetrics.scaledDensity);
//        
//        //初始化定时动作
//        ActionMgr.getIntance().init();
//        
//        Util.log("MagicTimerApp.onCreate success");
    }
    
    private void initMagicTimer()
    {
        //配置参数
        Configuration.getIntance().init(getApplicationContext());

        //初始化日志
        Util.initLog(getApplicationContext());
        
        //显示相关的初始化
        DisplayUtil.init(getApplicationContext());
        
        //是否打开调测模式
        Util.setDebug(Configuration.getIntance().getDebugFlag());
        
        //获取统计参数
        StatHelper.getInstance(getApplicationContext());

        //记录版本号
        Util.log(getPackageName() + " " + 
                StatHelper.getInstance().getValue(StatHelper.APP_VERSION_NAME) + "(" + 
                StatHelper.getInstance().getValue(StatHelper.APP_VERSION_CODE) + ")");

        //全局异常捕获
        MyCrashHandler handler = MyCrashHandler.getInstance();
        handler.init(getApplicationContext());

        //初始化数据库
        DBHelper.initialize(getApplicationContext());
        DBHelper.getIntance().open();
        
        //初始化定时动作
        ActionMgr.getIntance().init();

    }
    
//    public float getScaledDensity()
//    {
//        return mDisplayMetrics.scaledDensity;
//    }
//    
//    public Typeface getNumTypeFace()
//    {
//        return mNumTypeFase;
//    }
//    
//    public String getVersionName()
//    {
//        return mVersionName;
//    }
//    
//    public int getVersionCode()
//    {
//        return Util.strToInt(mVersionCode);
//    }

//    private void logVersion()
//    {
//        mVersionName = StatHelper.getInstance().getValue(StatHelper.APP_VERSION_NAME);
//        mVersionCode = StatHelper.getInstance().getValue(StatHelper.APP_VERSION_CODE);
//        
//        Util.log(getPackageName() + " " + mVersionName + "(" + mVersionCode + ")");
//    }
}
